package project;

public class FamilyAccont01 {

	public static void main(String[] args) {
	
		
		//第一步：设计项目导航菜单
		
		//1 定义一个布尔类型的变量isFlag，作为修改循环状态的开关
		//可以通过他来控制循环合适停止
		
		boolean isFlag = true;//代表循环进行中
		
		//用来拼接收支记录
		String details = " ";
		
		//定义一个存款,假定有1000元
		int balance = 1000;
		
		//2 实现死循环。while(true) for(;;;)
		//用户可以一直循环在控制台操作菜单
	    while(isFlag){
	    	
	    	//3 控制台显示的菜单内容
	    	System.out.println("\n------------个人收支记账软件---------------\n");
	    	System.out.println("\t 1 收支明细");
	    	System.out.println("\t 2 登记收入");
	    	System.out.println("\t 3 登记支出");
	    	System.out.println("\t 4 退        出\n");
	    	System.out.print("\t请选择(1-4):");
	    	
	    //3 获取键盘录入的选项信息
	    	char key = Utility.readMenuSelection();
	    	System.out.println();
	    	
	    //4 利用switch语句，跳转到对应的菜单
	    	switch(key){
	    		case '1':
	    			System.out.print("\n------------当前收支明细的记录---------------\n");
	    			System.out.print("收   支\t账户金额\t收支金额\t说    明\n");
	    			System.out.println(details);
	    			break;
	    		case '2':
	    			//System.out.println("2本次收入说明");
	    			System.out.print("本次收入的金额：");
	    			int addMoney = Utility.readNumber();
	    			System.out.print("本次说明：");
	    			String adddesc = Utility.readString();
	    			
	    			balance += addMoney;
	    			details += "收入\t"+balance + "\t" + addMoney + "\t" + adddesc +"\n";
	    			System.out.println("----------------登记完成------------------");
	    			break;
	    		case '3':
	    			//System.out.println("3本次支出金额");
	    			System.out.print("本次支出的金额：");
	    			int minusMoney = Utility.readNumber();
	    			System.out.print("本次说明：");
	    			String minusdesc = Utility.readString();
	    			
	    			//判断如果支出金额大于总存款，提示金额不足
	    			if(minusMoney < balance){
	    				balance -= minusMoney;
	    				details += "支出\t"+balance + "\t" + minusMoney + "\t" + minusdesc +"\n";
		    			System.out.println("----------------登记完成------------------");
	    			}else{
	    				System.out.println("余额不足，无法支付");
	    			}
	    			break;
	    		case '4':
	    			//System.out.println("4");
	    			System.out.println("确认是否退出（Y/N)");
	    			char yn = Utility.readConfirmSelection();
	    			//判断如果输入的是Y，就修循环开关isFlag为false
	    			if(yn == 'Y'){
	    				isFlag = false;
	    			}
	    			break;
	    	}
	    }

	}

}
